package com.ruicar.afs.cloud.basic.api.corporate.fegin;

import com.ruicar.afs.cloud.basic.api.corporate.dto.CorporateTransferApprovedDTO;
import com.ruicar.afs.cloud.basic.api.corporate.dto.DealCorporateResultDto;
import com.ruicar.afs.cloud.basic.api.corporate.dto.ReceiptCancelAgreeDto;
import com.ruicar.afs.cloud.common.core.util.IResponse;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * <p>Description: </p>
 *
 * @author ZC.GUO
 * @version 1.0
 * @date create on 2020-08-11 20:19
 */

@FeignClient(value = "${com.ruicar.service-names.gateway-server}")
public interface InterFaceGroupFeign {
    /**
     * 对公结算审核通过
     * @author ZC.GUO
     * @param corporateTransferApprovedDTO 结算成功报文
     * @return
     */
    @ApiOperation("对公结算审核通过")
    @PostMapping(value = "corporateTransfer/approved")
    IResponse<DealCorporateResultDto> corporateTransferApprovedNormal(@RequestBody CorporateTransferApprovedDTO corporateTransferApprovedDTO);
    /**
     * 对公结算审核通过(提前结清)
     * @author ZC.GUO
     * @param corporateTransferApprovedDTO 结算成功报文
     * @return
     */
    @ApiOperation("对公结算审核通过(提前结清)")
    @PostMapping(value = "corporateTransfer/beforeCharge")
    IResponse<DealCorporateResultDto> corporateTransferApprovedBeforeCharge(@RequestBody CorporateTransferApprovedDTO corporateTransferApprovedDTO);

    /**
     * 收款撤销通过收据处理
     * @author ZC.GUO
     * @param receiptCancelAgreeDto 审核通过信息
     * @return
     */
    @ApiOperation("收款撤销通过收据处理")
    @PostMapping(value = "receiptHandle/receiptHandleForCancel")
    IResponse receiptHandleForCancelAgree(@RequestBody ReceiptCancelAgreeDto receiptCancelAgreeDto);

}
